﻿//using Microsoft.AspNetCore.Authentication;
//using Microsoft.AspNetCore.Authentication.Cookies;
//using Microsoft.AspNetCore.Mvc;
//using RuoVea.ExUtil;
//using System.Security.Claims;
//using System.Text.Json;

//namespace RuoVea.Gantt.Controllers
//{
//    public class JsClientController : Controller
//    {
//        public async Task<IActionResult> IndexAsync()
//        {
//              return View();
//        }


//        public IActionResult   callback()
//        {
//            return View();
//        }

//        public   IActionResult IdToken(string id_token)
//        {
//            return View();
//        }

//        public IActionResult noauth()
//        {
//            return View();
//        }
//        public static IEnumerable<Claim> ParseClaimsFromJwt(string jwt)
//        {
//            var payload = jwt.Split('.')[1];
//            var jsonBytes = ParseBase64WithoutPadding(payload);
//            var keyValuePairs = JsonSerializer.Deserialize<Dictionary<string, object>>(jsonBytes);
//            return keyValuePairs.Select(kvp => new Claim(kvp.Key, kvp.Value.ToString()));
//        }
//        private static byte[] ParseBase64WithoutPadding(string base64)
//        {
//            switch (base64.Length % 4)
//            {
//                case 2: base64 += "=="; break;
//                case 3: base64 += "="; break;
//            }
//            return Convert.FromBase64String(base64);
//        }

//        public async Task loginAsync(string token) {
//            Console.WriteLine("token =>" + token);

//             var vclaims = ParseClaimsFromJwt(token);

//            var identity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme);
//            identity.AddClaims(vclaims);
              
//            ClaimsPrincipal claims = new ClaimsPrincipal(identity){ };
             
            

//            await HttpContext.SignInAsync(identity.AuthenticationType,
//                claims,
//                new AuthenticationProperties
//                {
//                    IsPersistent = false,//关闭浏览器 Cookies自动清除 
//                            RedirectUri = "/Home/Index",
//                    ExpiresUtc = new System.DateTimeOffset(dateTime: DateTime.Now.AddHours(6)),
//                });
//            //await HttpContext.SignInAsync(identity.AuthenticationType, new ClaimsPrincipal(identity), null);
//            //HttpContext.Response.Redirect(hostUrl);

//        }
//    }
//}
